Application Developers, when developing an application, use charts that present information in a visualized format. The charts are created by Chart Component Developers. The charts created by the Chart Component Developers are a graphical representation of data. A chart can be in any one of various forms, such as, for example: a bar chart, a column chart, a bullet chart, a line chart, a bubble chart, a stack chart, a pie chart, a map, a histogram, a waterfall chart, a timeline chart, an organizational chart, a tree chart, a flow chart, an area chart, a cartogram, and a pedigree chart. The data presented in a chart is harvested from on-line or off-line sources. On-line and off-line sources refer to whether the chart is accessing data over a communication network, such as the Internet, or accessing locally saved data.
While building an application that includes a chart, Application Developers select, from a gallery, or another library resource, different charts created by the Chart Component Developers that are “ready-to-use” or able to be programmed with minimal further activity by the Application Developer. In so doing, an Application Developer embeds additional programming language, such as HTML or JavaScript, within the website application design. The Application Developer then, to provide support for the chart selected from the gallery, which is defined by the embedded programming language, includes in the code a reference to at least one library and to the data that is to be charted. Application Developers in some instances can further select options to customize the selected chart.
After incorporation of the chart libraries and data, charts are rendered using technology such that the charts are visible to different users having access to the chart via different browsers. Some of these rendering techniques support HTML5/SVG, and VML. Charts, upon display to a consumer, are either non-interactive or interactive. An interactive chart suggests that a user, by manipulating a user device, can alter the way that data is presented or visualized.
Charts, as traditionally designed for applications, have several drawbacks. Charts are typically interactive, and therefore fully portable, only on personal computers. Therefore, a user accessing an application on an iPhone device (or another smartphone device), would not necessarily have the same fully interactive experience as another user on the personal computer. The platforms for display, which are all of different sizes, provide variable size screens for the user interfaces to which the chart design cannot adapt and on which text is displayed in an inconsistent and/or illegible manner. In order to account for the portability failures of charts, on the platforms that are not personal computers, the Application Developers often remove charts and replace them with tables, which are more portable. However, tables do not always provide data in an efficient manner for analysis by a consumer, and therefore are not generally desirable.
In order to keep charts in an Application for non-personal computing platforms, the Application Developer must take one of the following actions: reduce the amount of data and make up for the data reduction by aggregation (i.e., a series of different precisely and exhaustively coded charts); reduce or remove actions or interactive functions from the chart (i.e., a non-interactive chart); customize the chart for an appropriate responsiveness level; and/or use a chart that is strictly dedicated to mobile platforms. In order to create platform specific applications, Application Developers must create multiple versions of an Application, with one for use on each platform or on each type of platform (e.g., smartphone, tablet, personal computer).
Accordingly, a there is a need for charts that are portable across different display devices, which are fully interactive, and that retain the original interactive results that would otherwise be available on personal computers.